package com.txc.cloud.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.txc.cloud.admin.entity.RoleEntity;
import com.txc.cloud.admin.model.dto.RoleDto;
import com.txc.cloud.admin.model.vo.RoleVo;

import java.util.List;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author TXC
 * @since 2022-08-02
 */
public interface IRoleService extends IService<RoleEntity> {
    /**
     * 新增角色
     * @param role 角色信息
     * @return boolean
     */
    RoleEntity createRole(RoleDto role);

    /**
     * 修改角色
     *
     * @param role 角色信息
     */
    void updateRole(RoleDto role);

    /**
     * 角色授权
     * @param id 角色id
     * @param permissionCodes 权限编码列表
     * @return boolean
     */
    boolean empower(Long id, List<String> permissionCodes);

    /**
     * 查询角色列表
     * @return 角色列表
     */
    List<RoleVo> getRoleList();
}
